package leecode

import "strings"

/*
 func main() {
   var str  string = "this is an example"
   fmt.Println(strings.HasPrefix(str, "this")) // true 字符串是否以this开头
   fmt.Println(strings.HasSuffix(str, "example")) // true
   fmt.Println(strings.HasSuffix(str, "exam")) // false
 }
*/

func LongestCommonPrefix(strs []string) string {
	if len(strs) < 2 {
		return strs[0]
	}
	var (
		tempStr string
		result  string
		flag    int
	)
	str := strs[0]
	for i := 0; i < len(strs[0]); i++ {
		tempStr = str[:i+1] //拼接字符串
		for j := 1; j < len(strs); j++ {
			//判断字符串是否以第一个字符串的前缀开头 并且tempStr 没有超过后面字符串长度
			if strings.HasPrefix(strs[j], tempStr) && len(tempStr) <= len(strs[j]) {
				flag = 1
			} else {
				flag = 0
				break
			}
		}
		if flag == 1 {
			result = tempStr
		} else {
			return result
		}
	}
	return result
}
